﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace JoyeriaProject
{
    public partial class frmCustomerEdit : Form
    {
        public int CustomerID;
        ModeloDatos MD = new ModeloDatos();
        
        public frmCustomerEdit()
        { 
            InitializeComponent();
        }
 
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            MD.Client = MD.NewClient();

            MD.Client.CustomerID = Convert.ToInt32(lblNumFolio.Text);
            MD.Client.Fecha = lblFechaActual.Text ;
            MD.Client.Nombre = txtNombre.Text ;
            MD.Client.Apellidos = txtApellidos.Text ;
            MD.Client.TipoCasa  = (radiobtnCasa.Checked ? "Propia" : "Rentada");
            MD.Client.Direccion = txtDireccion.Text;
            MD.Client.DetalleDireccion = txtDetallesDireccion.Text;
            MD.Client.Colonia = txtColonia.Text ;
            MD.Client.Telefono = txtTel.Text;
            MD.Client.Celular = txtCel.Text;
            MD.Client.TipoAbono = (combCiclo.SelectedItem == "SEMANAL" ? 7 : combCiclo.SelectedItem == "CATORCENA" ? 14 : combCiclo.SelectedItem == "QUINCENAL" ? 15 : combCiclo.SelectedItem == "MENSUAL" ? 30 : combCiclo.SelectedItem == "BIMESTRAL" ? 60 : combCiclo.SelectedItem == "TRIMESTRAL" ? 90 : combCiclo.SelectedItem == "SEMESTRAL" ? 180 : combCiclo.SelectedItem ==  "ANUAL" ? 365 : 1);
            MD.Client.MontoAbono = Convert.ToDouble(txtMonto.Text);
            MD.Client.Referencia = txtReferencia.Text;
            MD.Client.Compania = txtCompania.Text;
            MD.Client.Puesto = txtPuesto.Text;
            MD.Client.DirCompania = txtDirEmpleo.Text;
            MD.Client.DirColoniaCompania = txtColoniaEmpleo.Text;
            MD.Client.DirDetalleCompania = txtDetallesDirEmpleo.Text;
            MD.Client.TelCompania = txtTelEmpleo.Text;
            MD.Client.Agente = comboAgente.Text;
            MD.Client.DiaCobro = (comboDiaCobro.Text == "DOMINGO" ? 0 : comboDiaCobro.Text == "LUNES" ? 1 : comboDiaCobro.Text == "MARTES" ? 2 : comboDiaCobro.Text == "MIERCOLES" ? 3 : comboDiaCobro.Text == "JUEVES" ? 4 : comboDiaCobro.Text == "VIERNES" ? 5 : 6);
		    MD.Client.Articulos = txtArticulos.Text;
            MD.Client.Ruta = txtRuta.Text;
           

            if (MD.Update<Clientes>(ref MD.Client))
            {
                MessageBox.Show("El cliente se Actualizó Satisfactoriamente", "LISTO!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Dispose();
            }
            else
            {
                MessageBox.Show("Hubo un problema al actualizar el registro del cliente", ":(  HUBO UN PROBLEMA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            } 
        }

        private void frmCustomerEdit_Load(object sender, EventArgs e)
        {

            MD.Client =  MD.GetClients().First(n => n.CustomerID == CustomerID);
          
            foreach(Agentes agente in MD.GetAgents())
                comboAgente.Items.Add(agente.Nombre + " " + agente.Apellidos);
            
            lblNumFolio.Text = MD.Client.CustomerID.ToString();
            lblFechaActual.Text = MD.Client.Fecha;
            txtNombre.Text = MD.Client.Nombre;
            txtApellidos.Text = MD.Client.Apellidos;
            radiobtnCasa.Checked = (MD.Client.TipoCasa == "Propia");
            radiobtnCasa2.Checked = (MD.Client.TipoCasa == "Rentada");
            txtDireccion.Text = MD.Client.Direccion;
            txtDetallesDireccion.Text = MD.Client.DetalleDireccion;
            txtColonia.Text = MD.Client.Colonia;
            txtTel.Text = MD.Client.Telefono;
            txtCel.Text = MD.Client.Celular;
            combCiclo.SelectedItem = (MD.Client.TipoAbono == 7 ? "SEMANAL" : MD.Client.TipoAbono == 14 ? "CATORCENA" : MD.Client.TipoAbono == 15 ? "QUINCENAL" : MD.Client.TipoAbono == 30 ? "MENSUAL" : MD.Client.TipoAbono == 60 ? "BIMESTRAL" : MD.Client.TipoAbono == 90 ? "TRIMESTRAL" : MD.Client.TipoAbono == 180 ? "SEMESTRAL" : MD.Client.TipoAbono == 365 ? "ANUAL" : "NINGUNO");
            txtMonto.Text = MD.Client.MontoAbono.ToString();
            txtReferencia.Text = MD.Client.Referencia;
            txtCompania.Text = MD.Client.Compania;
            txtPuesto.Text = MD.Client.Puesto;
            txtDirEmpleo.Text = MD.Client.DirCompania;
            txtColoniaEmpleo.Text = MD.Client.DirColoniaCompania;
            txtDetallesDirEmpleo.Text = MD.Client.DirDetalleCompania;
            txtTelEmpleo.Text = MD.Client.TelCompania;
            comboAgente.SelectedItem = MD.Client.Agente;
            comboDiaCobro.SelectedItem = (MD.Client.DiaCobro == 0 ? "DOMINGO" : MD.Client.DiaCobro == 1 ? "LUNES" : MD.Client.DiaCobro == 2 ? "MARTES" : MD.Client.DiaCobro == 3 ? "MIERCOLES" : MD.Client.DiaCobro == 4 ? "JUEVES" : MD.Client.DiaCobro == 5 ? "VIERNES" : MD.Client.DiaCobro == 6 ? "SABADO" : "");
            txtArticulos.Text = MD.Client.Articulos;
            txtRuta.Text = MD.Client.Ruta;
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            Dispose();
        }
    }
}
